package org.sdp.pearproject.dto.request;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;


import java.util.Date;

/**
 * @ClassName: ProjectForNotifyRequest
 * @Description:
 * @Author: SDP
 * @Date: 2022-07-21
 * @Version: 1.0
 * Table: pear_project
 * Comment:
 * 项目表
 */
public class ProjectForNotifyRequest extends BaseRequest {
    private static final long serialVersionUID = 21143616508271146L;

    //id
    @JsonProperty("id")
    @JSONField(name = "id")
    private Integer id;

    public Integer getId() {
        return id;
    }
    
    public void setId(Integer _v) {
        id = _v;
    }

    //标题
    @JsonProperty("title")
    @JSONField(name = "title")
    private String title;

    public String getTitle() {
        return title;
    }
    
    public void setTitle(String _v) {
        title = _v;
    }

    //内容
    @JsonProperty("content")
    @JSONField(name = "content")
    private String content;

    public String getContent() {
        return content;
    }
    
    public void setContent(String _v) {
        content = _v;
    }

    //通知类型。通知：notice，消息：message，待办：task
    @JsonProperty("type")
    @JSONField(name = "type")
    private String type;

    public String getType() {
        return type;
    }
    
    public void setType(String _v) {
        type = _v;
    }

    //发送人id
    @JsonProperty("from")
    @JSONField(name = "from")
    private String from;

    public String getFrom() {
        return from;
    }
    
    public void setFrom(String _v) {
        from = _v;
    }

    //送达用户id
    @JsonProperty("to")
    @JSONField(name = "to")
    private String to;

    public String getTo() {
        return to;
    }
    
    public void setTo(String _v) {
        to = _v;
    }

    //生成时间
    @JsonProperty("create_time")
    @JSONField(name = "create_time")
    private String createTime;

    public String getCreateTime() {
        return createTime;
    }
    
    public void setCreateTime(String _v) {
        createTime = _v;
    }

    //是否已读
    @JsonProperty("is_read")
    @JSONField(name = "is_read")
    private Byte isRead;

    public Byte getIsRead() {
        return isRead;
    }
    
    public void setIsRead(Byte _v) {
        isRead = _v;
    }

    //阅读时间
    @JsonProperty("read_time")
    @JSONField(name = "read_time")
    private String readTime;

    public String getReadTime() {
        return readTime;
    }
    
    public void setReadTime(String _v) {
        readTime = _v;
    }

    //最终发送时间
    @JsonProperty("finally_send_time")
    @JSONField(name = "finally_send_time")
    private String finallySendTime;

    public String getFinallySendTime() {
        return finallySendTime;
    }
    
    public void setFinallySendTime(String _v) {
        finallySendTime = _v;
    }

    //发送时间
    @JsonProperty("send_time")
    @JSONField(name = "send_time")
    private String sendTime;

    public String getSendTime() {
        return sendTime;
    }
    
    public void setSendTime(String _v) {
        sendTime = _v;
    }

    //场景：task，project
    @JsonProperty("action")
    @JSONField(name = "action")
    private String action;

    public String getAction() {
        return action;
    }
    
    public void setAction(String _v) {
        action = _v;
    }

    //推送终端。pc端：project，移动端：wap
    @JsonProperty("terminal")
    @JSONField(name = "terminal")
    private String terminal;

    public String getTerminal() {
        return terminal;
    }
    
    public void setTerminal(String _v) {
        terminal = _v;
    }

    //'project','system'
    @JsonProperty("from_type")
    @JSONField(name = "from_type")
    private String fromType;

    public String getFromType() {
        return fromType;
    }
    
    public void setFromType(String _v) {
        fromType = _v;
    }

    //头像/图片
    @JsonProperty("avatar")
    @JSONField(name = "avatar")
    private String avatar;

    public String getAvatar() {
        return avatar;
    }
    
    public void setAvatar(String _v) {
        avatar = _v;
    }

    //资源code
    @JsonProperty("source_code")
    @JSONField(name = "source_code")
    private String sourceCode;

    public String getSourceCode() {
        return sourceCode;
    }
    
    public void setSourceCode(String _v) {
        sourceCode = _v;
    }

    //关联数据
    @JsonProperty("send_data")
    @JSONField(name = "send_data")
    private String sendData;

    public String getSendData() {
        return sendData;
    }
    
    public void setSendData(String _v) {
        sendData = _v;
    }

    //member_code
    @JsonProperty("member_code")
    @JSONField(name = "member_code")
    private String memberCode;

    public String getMemberCode() {
        return memberCode;
    }
    
    public void setMemberCode(String _v) {
        memberCode = _v;
    }

    //create_time_ge
    @JsonProperty("create_time_ge")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss", name = "create_time_ge")
    private Date createTimeGe;

    public Date getCreateTimeGe() {
        return createTimeGe;
    }
    
    public void setCreateTimeGe(Date _v) {
        createTimeGe = _v;
    }

    //create_time_lt
    @JsonProperty("create_time_lt")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss", name = "create_time_lt")
    private Date createTimeLt;

    public Date getCreateTimeLt() {
        return createTimeLt;
    }
    
    public void setCreateTimeLt(Date _v) {
        createTimeLt = _v;
    }

    //date
    @JsonProperty("date")
    @JSONField(name = "date")
    private String date;

    public String getDate() {
        return date;
    }
    
    public void setDate(String _v) {
        date = _v;
    }

    @Override
    public void checkParam() throws Exception {

        if(null != title) {
            title = "%" + title + "%";
        }
    }
}
